<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta content="en" name="language">
	<title>Enumerations</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
	<link media="screen" href="../docutils-articles.css" type="text/css" rel="stylesheet">

</head>

<body>

<div class="banner">
<img src="../images/gm-107x76.png" alt="GraphicMagick logo" width="107" height="76" />
<span class="title">GraphicsMagick</span>
<form action="http://www.google.com/search">
  <input type="hidden" name="domains" value="www.graphicsmagick.org" />
  <input type="hidden" name="sitesearch" value="www.graphicsmagick.org" />
<span class="nowrap"><input type="text" name="q" size="25" maxlength="255" />&nbsp;<input type="submit" name="sa" value="Search" /></span>
</form>
</div>


<div class="navmenu">
<ul>
  <li><a href="../index.html">Home</a></li>
  <li><a href="../project.html">Project</a></li>
  <li><a href="../download.html">Download</a></li>
  <li><a href="../README.html">Install</a></li>
  <li><a href="../Hg.html">Source</a></li>
  <li><a href="../NEWS.html">News</a> </li>
  <li><a href="../utilities.html">Utilities</a></li>
  <li><a href="../programming.html">Programming</a></li>
  <li><a href="../reference.html">Reference</a></li>
</ul>
</div>

<main id="enumerations">
<h1 class="title">Enumerations</h1>
<!-- -*- mode: rst -*- -->
<!-- This text is in reStucturedText format, so it may look a bit odd. -->
<!-- See http://docutils.sourceforge.net/rst.html for details. -->
<div class="contents topic" id="magick-enumerations">
<p class="topic-title">Magick++ Enumerations</p>
<ul class="simple">
<li><p><a class="reference internal" href="#channeltype" id="id2">ChannelType</a></p></li>
<li><p><a class="reference internal" href="#classtype" id="id3">ClassType</a></p></li>
<li><p><a class="reference internal" href="#colorspacetype" id="id4">ColorspaceType</a></p></li>
<li><p><a class="reference internal" href="#compositeoperator" id="id5">CompositeOperator</a></p></li>
<li><p><a class="reference internal" href="#compressiontype" id="id6">CompressionType</a></p></li>
<li><p><a class="reference internal" href="#decorationtype" id="id7">DecorationType</a></p></li>
<li><p><a class="reference internal" href="#endiantype" id="id8">EndianType</a></p></li>
<li><p><a class="reference internal" href="#fillrule" id="id9">FillRule</a></p></li>
<li><p><a class="reference internal" href="#filtertypes" id="id10">FilterTypes</a></p></li>
<li><p><a class="reference internal" href="#gravitytype" id="id11">GravityType</a></p></li>
<li><p><a class="reference internal" href="#imagetype" id="id12">ImageType</a></p></li>
<li><p><a class="reference internal" href="#interlacetype" id="id13">InterlaceType</a></p></li>
<li><p><a class="reference internal" href="#id1" id="id14">ChannelType</a></p></li>
<li><p><a class="reference internal" href="#linecap" id="id15">LineCap</a></p></li>
<li><p><a class="reference internal" href="#linejoin" id="id16">LineJoin</a></p></li>
<li><p><a class="reference internal" href="#noisetype" id="id17">NoiseType</a></p></li>
<li><p><a class="reference internal" href="#orientationtype" id="id18">OrientationType</a></p></li>
<li><p><a class="reference internal" href="#paintmethod" id="id19">PaintMethod</a></p></li>
<li><p><a class="reference internal" href="#quantumtypes" id="id20">QuantumTypes</a></p></li>
<li><p><a class="reference internal" href="#renderingintent" id="id21">RenderingIntent</a></p></li>
<li><p><a class="reference internal" href="#resolutiontype" id="id22">ResolutionType</a></p></li>
<li><p><a class="reference internal" href="#storagetype" id="id23">StorageType</a></p></li>
<li><p><a class="reference internal" href="#stretchtype" id="id24">StretchType</a></p></li>
<li><p><a class="reference internal" href="#styletype" id="id25">StyleType</a></p></li>
</ul>
</div>
<section id="channeltype">
<h1><a class="toc-backref" href="#id2">ChannelType</a></h1>
<p><em>ChannelType</em> is used as an argument when doing color separations. Use
<em>ChannelType</em> when extracting a layer from an image. <em>MatteChannel</em> is
useful for extracting the opacity values from an image. Note that an
image may be represented in RGB, RGBA, CMYK, or CMYKA, pixel formats
and a channel may only be extracted if it is valid for the current
pixel format.</p>
<table>
<caption>ChannelType</caption>
<colgroup>
<col style="width: 30%" />
<col style="width: 70%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>UndefinedChannel</p></td>
<td><p>Unset value.</p></td>
</tr>
<tr><td><p>RedChannel</p></td>
<td><p>RGB Red channel</p></td>
</tr>
<tr><td><p>CyanChannel</p></td>
<td><p>CMYK Cyan channel</p></td>
</tr>
<tr><td><p>GreenChannel</p></td>
<td><p>RGB Green channel</p></td>
</tr>
<tr><td><p>MagentaChannel</p></td>
<td><p>CMYK Magenta channel</p></td>
</tr>
<tr><td><p>BlueChannel</p></td>
<td><p>RGB Blue channel</p></td>
</tr>
<tr><td><p>YellowChannel</p></td>
<td><p>CMYK Yellow channel</p></td>
</tr>
<tr><td><p>OpacityChannel</p></td>
<td><p>Opacity channel (inverse of transparency)</p></td>
</tr>
<tr><td><p>BlackChannel</p></td>
<td><p>CMYK Black (K) channel</p></td>
</tr>
<tr><td><p>MatteChannel</p></td>
<td><p>Same as Opacity channel (deprecated)</p></td>
</tr>
<tr><td><p>AllChannels</p></td>
<td><p>All color channels</p></td>
</tr>
<tr><td><p>GrayChannel</p></td>
<td><p>Color channels represent an intensity</p></td>
</tr>
</tbody>
</table>
</section>
<section id="classtype">
<h1><a class="toc-backref" href="#id3">ClassType</a></h1>
<p><em>ClassType</em> specifies the image storage class.</p>
<table>
<caption>ClassType</caption>
<colgroup>
<col style="width: 30%" />
<col style="width: 70%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>UndefinedClass</p></td>
<td><p>Unset value.</p></td>
</tr>
<tr><td><p>DirectClass</p></td>
<td><p>Image is composed of pixels which represent
literal color values.</p></td>
</tr>
<tr><td><p>PseudoClass</p></td>
<td><p>Image is composed of pixels which specify an index
in a color palette.</p></td>
</tr>
</tbody>
</table>
</section>
<section id="colorspacetype">
<h1><a class="toc-backref" href="#id4">ColorspaceType</a></h1>
<p>The <em>ColorspaceType</em> enumeration is used to specify the colorspace that
quantization (color reduction and mapping) is done under or to specify
the colorspace when encoding an output image. Colorspaces are ways of
describing colors to fit the requirements of a particular application
(e.g. Television, offset printing, color monitors).  Color reduction,
by default, takes place in the <em>RGBColorspace</em>. Empirical evidence
suggests that distances in color spaces such as <em>YUVColorspace</em> or
<em>YIQColorspace</em> correspond to perceptual color differences more closely
han do distances in RGB space. These color spaces may give better
results when color reducing an image. Refer to quantize for more
details.</p>
<p>When encoding an output image, the colorspaces <em>RGBColorspace</em>,
<em>CMYKColorspace</em>, <em>GRAYColorspace</em>, or <em>YCbCrColorspace</em> may be
specified. The CMYKColorspace option is only applicable when writing
TIFF, JPEG, and Adobe Photoshop bitmap (PSD) files.</p>
<table>
<caption>ColorspaceType</caption>
<colgroup>
<col style="width: 29%" />
<col style="width: 71%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>UndefinedColorspace</p></td>
<td><p>Unset value.</p></td>
</tr>
<tr><td><p>RGBColorspace</p></td>
<td><p>Red-Green-Blue colorspace.</p></td>
</tr>
<tr><td><p>GRAYColorspace</p></td>
<td><p>Grayscale colorspace</p></td>
</tr>
<tr><td><p>TransparentColorspace</p></td>
<td><p>The Transparent color space behaves uniquely in
that it preserves the matte channel of the image
if it exists.</p></td>
</tr>
<tr><td><p>OHTAColorspace</p></td>
<td></td>
</tr>
<tr><td><p>XYZColorspace</p></td>
<td></td>
</tr>
<tr><td><p>YCbCrColorspace</p></td>
<td></td>
</tr>
<tr><td><p>YCCColorspace</p></td>
<td></td>
</tr>
<tr><td><p>YIQColorspace</p></td>
<td></td>
</tr>
<tr><td><p>YPbPrColorspace</p></td>
<td></td>
</tr>
<tr><td><p>YUVColorspace</p></td>
<td><p>Y-signal, U-signal, and V-signal colorspace. YUV is
most widely used to encode color for use in
television transmission.</p></td>
</tr>
<tr><td><p>CMYKColorspace</p></td>
<td><p>Cyan-Magenta-Yellow-Black colorspace. CYMK is a
subtractive color system used by printers and
photographers for the rendering of colors with ink
or emulsion,
normally on a white surface.</p></td>
</tr>
<tr><td><p>sRGBColorspace</p></td>
<td><p>Kodak PhotoCD sRGB</p></td>
</tr>
</tbody>
</table>
</section>
<section id="compositeoperator">
<h1><a class="toc-backref" href="#id5">CompositeOperator</a></h1>
<p><em>CompositeOperator</em> is used to select the image composition algorithm
used to compose a composite image with an image. By default, each of
the composite image pixels are replaced by the corresponding image
tile pixel. Specify <em>CompositeOperator</em> to select a different
algorithm.</p>
<table>
<caption>CompositeOperator</caption>
<colgroup>
<col style="width: 31%" />
<col style="width: 69%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>UndefinedCompositeOp</p></td>
<td><p>Not defined.</p></td>
</tr>
<tr><td><p>OverCompositeOp</p></td>
<td><p>Union of the two image shapes, with
opaque areas of change-image obscuring base-image
in the region of overlap.</p></td>
</tr>
<tr><td><p>InCompositeOp</p></td>
<td><p>Change-image cut by the shape of base-image.
None of the image data of base-image will be
in the result.</p></td>
</tr>
<tr><td><p>OutCompositeOp</p></td>
<td><p>Change-image with the shape of base-image cut out.</p></td>
</tr>
<tr><td><p>AtopCompositeOp</p></td>
<td><p>Same shape as base-image, with change-image
obscuring base-image where the image shapes
overlap. Note this differs from over because the
portion of change-image outside base-image's shape
does not appear in the result.</p></td>
</tr>
<tr><td><p>XorCompositeOp</p></td>
<td><p>Image data from both change-image and base-image
that is outside the overlap region. The overlap
region will be blank</p></td>
</tr>
<tr><td><p>PlusCompositeOp</p></td>
<td><p>Sum of the image data. Output values are
cropped to MaxRGB (no overflow). This operation is
independent of the matte channels.</p></td>
</tr>
<tr><td><p>MinusCompositeOp</p></td>
<td><p>Change-image - base-image, with underflow cropped
to zero. The matte channel is ignored (set to
opaque, full coverage)</p></td>
</tr>
<tr><td><p>AddCompositeOp</p></td>
<td><p>Change-image + base-image, with overflow wrapping
around (mod MaxRGB+1)</p></td>
</tr>
<tr><td><p>SubtractCompositeOp</p></td>
<td><p>Change-image - base-image, with underflow wrapping
around (mod MaxRGB+1). The add and subtract
operators can be used to perform reversible
transformations</p></td>
</tr>
<tr><td><p>DifferenceCompositeOp</p></td>
<td><p>Absolute value of change-image minus base-image.</p></td>
</tr>
<tr><td><p>MultiplyCompositeOp</p></td>
<td><p>Change-image * base-image. This is useful for the
creation of drop-shadows.</p></td>
</tr>
<tr><td><p>BumpmapCompositeOp</p></td>
<td><p>Base-image shaded by change-image</p></td>
</tr>
<tr><td><p>CopyCompositeOp</p></td>
<td><p>Base-image replaced with change-image. Here
the matte information is ignored</p></td>
</tr>
<tr><td><p>CopyRedCompositeOp</p></td>
<td><p>Red channel in base-image replaced with
the red channel in change-image. The other channels
are copied untouched</p></td>
</tr>
<tr><td><p>CopyGreenCompositeOp</p></td>
<td><p>Green channel in base-image replaced with the green
channel in change-image. The other channels are
copied untouched.</p></td>
</tr>
<tr><td><p>CopyBlueCompositeOp</p></td>
<td><p>Blue channel in base-image replaced with the blue
channel in change-image. The other channels are
copied untouched.</p></td>
</tr>
<tr><td><p>CopyOpacityCompositeOp</p></td>
<td><p>Opacity channel in base-image replaced with the
opacity channel in change-image.  The other
channels are copied untouched.</p></td>
</tr>
<tr><td><p>ClearCompositeOp</p></td>
<td><p>Pixels are set to transparent.</p></td>
</tr>
<tr><td><p>DissolveCompositeOp</p></td>
<td></td>
</tr>
<tr><td><p>DisplaceCompositeOp</p></td>
<td></td>
</tr>
<tr><td><p>ModulateCompositeOp</p></td>
<td></td>
</tr>
<tr><td><p>ThresholdCompositeOp</p></td>
<td></td>
</tr>
<tr><td><p>NoCompositeOp</p></td>
<td></td>
</tr>
<tr><td><p>DarkenCompositeOp</p></td>
<td></td>
</tr>
<tr><td><p>LightenCompositeOp</p></td>
<td></td>
</tr>
<tr><td><p>HueCompositeOp</p></td>
<td></td>
</tr>
<tr><td><p>SaturateCompositeOp</p></td>
<td></td>
</tr>
<tr><td><p>ColorizeCompositeOp</p></td>
<td></td>
</tr>
<tr><td><p>LuminizeCompositeOp</p></td>
<td></td>
</tr>
<tr><td><p>ScreenCompositeOp</p></td>
<td><p>Not yet implemented (Photoshop &amp; PDF)</p></td>
</tr>
<tr><td><p>OverlayCompositeOp</p></td>
<td><p>Not yet implemented (Photoshop &amp; PDF)</p></td>
</tr>
<tr><td><p>CopyCyanCompositeOp</p></td>
<td></td>
</tr>
<tr><td><p>CopyMagentaCompositeOp</p></td>
<td></td>
</tr>
<tr><td><p>CopyYellowCompositeOp</p></td>
<td></td>
</tr>
<tr><td><p>CopyBlackCompositeOp</p></td>
<td><p>Copy CMYK Black (K) channel.</p></td>
</tr>
<tr><td><p>DivideCompositeOp</p></td>
<td><p>Change-image / base-image. This is useful for
improving the readability of text on unevenly
illuminated photos. (by using a gaussian blurred
copy of change-image as base-image)</p></td>
</tr>
</tbody>
</table>
</section>
<section id="compressiontype">
<h1><a class="toc-backref" href="#id6">CompressionType</a></h1>
<p><em>CompressionType</em> is used to express the desired compression type when
encoding an image. Be aware that most image types only support a
sub-set of the available compression types. If the compression type
specified is incompatable with the image, GraphicsMagick selects a
compression type compatable with the image type.</p>
<table>
<caption>CompressionType</caption>
<colgroup>
<col style="width: 32%" />
<col style="width: 68%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>UndefinedCompression</p></td>
<td><p>Unset value.</p></td>
</tr>
<tr><td><p>NoCompression</p></td>
<td><p>No compression</p></td>
</tr>
<tr><td><p>BZipCompression</p></td>
<td><p>BZip as used by bzip2 utilities</p></td>
</tr>
<tr><td><p>FaxCompression</p></td>
<td><p>CCITT Group 3 FAX compression</p></td>
</tr>
<tr><td><p>Group4Compression</p></td>
<td><p>CCITT Group 4 FAX compression (used only for TIFF)</p></td>
</tr>
<tr><td><p>JPEGCompression</p></td>
<td><p>JPEG compression</p></td>
</tr>
<tr><td><p>LZWCompression</p></td>
<td><p>Lempel-Ziv-Welch (LZW) compression</p></td>
</tr>
<tr><td><p>RLECompression</p></td>
<td><p>Run-Length encoded (RLE) compression</p></td>
</tr>
<tr><td><p>ZipCompression</p></td>
<td><p>Lempel-Ziv compression (LZ77) as used in GNU gzip.</p></td>
</tr>
<tr><td><p>LZMACompression</p></td>
<td><p>Lempel-Ziv-Markov chain algorithm</p></td>
</tr>
<tr><td><p>JPEG2000Compression</p></td>
<td><p>ISO/IEC std 15444-1</p></td>
</tr>
<tr><td><p>JBIG1Compression</p></td>
<td><p>ISO/IEC std 11544 / ITU-T rec T.82</p></td>
</tr>
<tr><td><p>JBIG2Compression</p></td>
<td><p>ISO/IEC std 14492 / ITU-T rec T.88</p></td>
</tr>
</tbody>
</table>
</section>
<section id="decorationtype">
<h1><a class="toc-backref" href="#id7">DecorationType</a></h1>
<p>The <em>DecorationType</em> enumerations are used to specify line decorations
of rendered text.</p>
<table>
<caption>DecorationType</caption>
<colgroup>
<col style="width: 32%" />
<col style="width: 68%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>NoDecoration</p></td>
<td><p>No decoration</p></td>
</tr>
<tr><td><p>UnderlineDecoration</p></td>
<td><p>Underlined text</p></td>
</tr>
<tr><td><p>OverlineDecoration</p></td>
<td><p>Overlined text</p></td>
</tr>
<tr><td><p>LineThroughDecoration</p></td>
<td><p>Strike-through text</p></td>
</tr>
</tbody>
</table>
</section>
<section id="endiantype">
<h1><a class="toc-backref" href="#id8">EndianType</a></h1>
<p>The <em>EndianType</em> enumerations are used to specify the endian option
for formats which support it (e.g. TIFF).</p>
<table>
<caption>EndianType</caption>
<colgroup>
<col style="width: 32%" />
<col style="width: 68%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>UndefinedEndian</p></td>
<td><p>Not defined (default)</p></td>
</tr>
<tr><td><p>LSBEndian</p></td>
<td><p>Little endian (like Intel X86 and DEC Alpha)</p></td>
</tr>
<tr><td><p>MSBEndian</p></td>
<td><p>Big endian (like Motorola 68K, Mac PowerPC, &amp;
SPARC)</p></td>
</tr>
<tr><td><p>NativeEndian</p></td>
<td><p>Use native endian of this CPU</p></td>
</tr>
</tbody>
</table>
</section>
<section id="fillrule">
<h1><a class="toc-backref" href="#id9">FillRule</a></h1>
<p><em>FillRule</em> specifies the algorithm which is to be used to determine
what parts of the canvas are included inside the shape. See the
documentation on SVG's <a class="reference external" href="http://www.w3.org/TR/SVG/painting.html#FillRuleProperty">fill-rule</a> property
for usage details.</p>
<table>
<caption>FillRule</caption>
<colgroup>
<col style="width: 32%" />
<col style="width: 68%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>UndefinedRule</p></td>
<td><p>Fill rule not specified</p></td>
</tr>
<tr><td><p>EvenOddRule</p></td>
<td><p>See SVG fill-rule evenodd rule.</p></td>
</tr>
<tr><td><p>NonZeroRule</p></td>
<td><p>See SVG fill-rule nonzero rule.</p></td>
</tr>
</tbody>
</table>
</section>
<section id="filtertypes">
<h1><a class="toc-backref" href="#id10">FilterTypes</a></h1>
<p><em>FilterTypes</em> is used to adjust the filter algorithm used when
resizing images. Different filters experience varying degrees of
success with various images and can take sipngicantly different
amounts of processing time. GraphicsMagick uses the <em>LanczosFilter</em> by
default since this filter has been shown to provide the best results
for most images in a reasonable amount of time. Other filter types
(e.g. <em>TriangleFilter</em>) may execute much faster but may show artifacts
when the image is re-sized or around diagonal lines. The only way to
be sure is to test the filter with sample images.</p>
<table>
<caption>FilterTypes</caption>
<colgroup>
<col style="width: 32%" />
<col style="width: 68%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>UndefinedFilter</p></td>
<td><p>Unset value.</p></td>
</tr>
<tr><td><p>PointFilter</p></td>
<td><p>Point Filter</p></td>
</tr>
<tr><td><p>BoxFilter</p></td>
<td><p>Box Filter</p></td>
</tr>
<tr><td><p>TriangleFilter</p></td>
<td><p>Triangle Filter</p></td>
</tr>
<tr><td><p>HermiteFilter</p></td>
<td><p>Hermite Filter</p></td>
</tr>
<tr><td><p>HanningFilter</p></td>
<td><p>Hanning Filter</p></td>
</tr>
<tr><td><p>HammingFilter</p></td>
<td><p>Hamming Filter</p></td>
</tr>
<tr><td><p>BlackmanFilter</p></td>
<td><p>Blackman Filter</p></td>
</tr>
<tr><td><p>GaussianFilter</p></td>
<td><p>Gaussian Filter</p></td>
</tr>
<tr><td><p>QuadraticFilter</p></td>
<td><p>Quadratic Filter</p></td>
</tr>
<tr><td><p>CubicFilter</p></td>
<td><p>Cubic Filter</p></td>
</tr>
<tr><td><p>CatromFilter</p></td>
<td><p>Catrom Filter</p></td>
</tr>
<tr><td><p>MitchellFilter</p></td>
<td><p>Mitchell Filter</p></td>
</tr>
<tr><td><p>LanczosFilter</p></td>
<td><p>Lanczos Filter</p></td>
</tr>
<tr><td><p>BesselFilter</p></td>
<td><p>Bessel Filter</p></td>
</tr>
<tr><td><p>SincFilter</p></td>
<td><p>Sinc Filter</p></td>
</tr>
</tbody>
</table>
</section>
<section id="gravitytype">
<h1><a class="toc-backref" href="#id11">GravityType</a></h1>
<p><em>GravityType</em> specifies positioning of an object (e.g. text, image)
within a bounding region (e.g. an image). Gravity provides a
convenient way to locate objects irrespective of the size of the
bounding region, in other words, you don't need to provide absolute
coordinates in order to position an object. A common default for
gravity is <em>NorthWestGravity</em>.</p>
<table>
<caption>GravityType</caption>
<colgroup>
<col style="width: 32%" />
<col style="width: 68%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>ForgetGravity</p></td>
<td><p>Don't use gravity.</p></td>
</tr>
<tr><td><p>NorthWestGravity</p></td>
<td><p>Position object at top-left of region.</p></td>
</tr>
<tr><td><p>NorthGravity</p></td>
<td><p>Postiion object at top-center of region</p></td>
</tr>
<tr><td><p>NorthEastGravity</p></td>
<td><p>Position object at top-right of region</p></td>
</tr>
<tr><td><p>WestGravity</p></td>
<td><p>Position object at left-center of region</p></td>
</tr>
<tr><td><p>CenterGravity</p></td>
<td><p>Position object at center of region</p></td>
</tr>
<tr><td><p>EastGravity</p></td>
<td><p>Position object at right-center of region</p></td>
</tr>
<tr><td><p>SouthWestGravity</p></td>
<td><p>Position object at left-bottom of region</p></td>
</tr>
<tr><td><p>SouthGravity</p></td>
<td><p>Position object at bottom-center of region</p></td>
</tr>
<tr><td><p>SouthEastGravity</p></td>
<td><p>Position object at bottom-right of region</p></td>
</tr>
</tbody>
</table>
</section>
<section id="imagetype">
<h1><a class="toc-backref" href="#id12">ImageType</a></h1>
<p><em>ImageType</em> indicates the type classification of the image.</p>
<table>
<caption>ImageType</caption>
<colgroup>
<col style="width: 32%" />
<col style="width: 68%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>UndefinedType</p></td>
<td><p>Unset value.</p></td>
</tr>
<tr><td><p>BilevelType</p></td>
<td><p>Monochrome bi-level image</p></td>
</tr>
<tr><td><p>GrayscaleType</p></td>
<td><p>Grayscale image</p></td>
</tr>
<tr><td><p>GrayscaleMatteType</p></td>
<td><p>Grayscale image with opacity</p></td>
</tr>
<tr><td><p>PaletteType</p></td>
<td><p>Indexed color (palette) image</p></td>
</tr>
<tr><td><p>PaletteMatteType</p></td>
<td><p>Indexed color (palette) image with opacity</p></td>
</tr>
<tr><td><p>TrueColorType</p></td>
<td><p>Truecolor image</p></td>
</tr>
<tr><td><p>TrueColorMatteType</p></td>
<td><p>Truecolor image with opacity</p></td>
</tr>
<tr><td><p>ColorSeparationType</p></td>
<td><p>Cyan/Yellow/Magenta/Black (CYMK) image</p></td>
</tr>
<tr><td><p>OptimizeType</p></td>
<td><p>Optimize type based on image characteristics</p></td>
</tr>
</tbody>
</table>
</section>
<section id="interlacetype">
<h1><a class="toc-backref" href="#id13">InterlaceType</a></h1>
<p><em>InterlaceType</em> specifies the ordering of the red, green, and blue
pixel information in the image. Interlacing is often used to make
image information available to the user faster by taking advantage of
the space vs time tradeoff. For example, interlacing allows images on
the Web to be recognizable sooner and satellite images to
accumulate/render with image resolution increasing over time.</p>
<p>Use <em>LineInterlace</em> or <em>PlaneInterlace</em> to create an interlaced GIF or
progressive JPEG image.</p>
<table>
<caption>InterlaceType</caption>
<colgroup>
<col style="width: 31%" />
<col style="width: 69%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>UndefinedInterlace</p></td>
<td><p>Unset value.</p></td>
</tr>
<tr><td><p>NoInterlace</p></td>
<td><p>Don't interlace image (RGBRGBRGBRGBRGBRGB...)</p></td>
</tr>
<tr><td><p>LineInterlace</p></td>
<td><p>Use scanline interlacing
(RRR...GGG...BBB...RRR...GGG...BBB...)</p></td>
</tr>
<tr><td><p>PlaneInterlace</p></td>
<td><p>Use plane interlacing (RRRRRR...GGGGGG...BBBBBB...)</p></td>
</tr>
<tr><td><p>PartitionInterlace</p></td>
<td><p>Similar to plane interlaing except that the
different planes are saved to individual files
(e.g. image.R, image.G, and image.B)</p></td>
</tr>
</tbody>
</table>
</section>
<section id="id1">
<h1><a class="toc-backref" href="#id14">ChannelType</a></h1>
<p><em>ChannelType</em> is used as an argument when doing color separations. Use
<em>ChannelType</em> when extracting a layer from an image. <em>MatteLayer</em> is
useful for extracting the opacity values from an image.</p>
<table>
<caption>ChannelType</caption>
<colgroup>
<col style="width: 32%" />
<col style="width: 68%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>UndefinedLayer</p></td>
<td><p>Unset value.</p></td>
</tr>
<tr><td><p>RedLayer</p></td>
<td><p>Select red layer</p></td>
</tr>
<tr><td><p>GreenLayer</p></td>
<td><p>Select green layer</p></td>
</tr>
<tr><td><p>BlueLayer</p></td>
<td><p>Select blue layer</p></td>
</tr>
<tr><td><p>MatteLayer</p></td>
<td><p>Select matte (opacity values) layer</p></td>
</tr>
</tbody>
</table>
</section>
<section id="linecap">
<h1><a class="toc-backref" href="#id15">LineCap</a></h1>
<p>The <em>LineCap</em> enumerations specify shape to be used at the end of open
subpaths when they are stroked. See SVG's <a class="reference external" href="http://www.w3.org/TR/SVG/painting.html#StrokeLinecapProperty">stroke-linecap</a> for
examples.</p>
<table>
<caption>LineCap</caption>
<colgroup>
<col style="width: 32%" />
<col style="width: 68%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>UndefinedCap</p></td>
<td><p>Unset value.</p></td>
</tr>
<tr><td><p>ButtCap</p></td>
<td><p>Square ending.</p></td>
</tr>
<tr><td><p>RoundCap</p></td>
<td><p>Rounded ending (half-circle end with radius of 1/2
stroke width).</p></td>
</tr>
<tr><td><p>SquareCap</p></td>
<td><p>Square ending, extended by 1/2 the stroke width at
end.</p></td>
</tr>
</tbody>
</table>
</section>
<section id="linejoin">
<h1><a class="toc-backref" href="#id16">LineJoin</a></h1>
<p>The <em>LineJoin</em> enumerations specify the shape to be used at the
corners of paths or basic shapes when they are stroked. See SVG's
<a class="reference external" href="http://www.w3.org/TR/SVG/painting.html#StrokeLinejoinProperty">stroke-linejoin</a> for
examples.</p>
<table>
<caption>LineJoin</caption>
<colgroup>
<col style="width: 32%" />
<col style="width: 68%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>UndefinedJoin</p></td>
<td><p>Unset value.</p></td>
</tr>
<tr><td><p>MiterJoin</p></td>
<td><p>Sharp-edged join</p></td>
</tr>
<tr><td><p>RoundJoin</p></td>
<td><p>Rounded-edged join</p></td>
</tr>
<tr><td><p>BevelJoin</p></td>
<td><p>Beveled-edged join</p></td>
</tr>
</tbody>
</table>
</section>
<section id="noisetype">
<h1><a class="toc-backref" href="#id17">NoiseType</a></h1>
<p><em>NoiseType</em> is used as an argument to select the type of noise to be
added to the image.</p>
<table>
<caption>NoiseType</caption>
<colgroup>
<col style="width: 37%" />
<col style="width: 63%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>UndefinedNoise</p></td>
<td><p>Unset value.</p></td>
</tr>
<tr><td><p>UniformNoise</p></td>
<td><p>Uniform noise</p></td>
</tr>
<tr><td><p>GaussianNoise</p></td>
<td><p>Gaussian noise</p></td>
</tr>
<tr><td><p>MultiplicativeGaussianNoise</p></td>
<td><p>Multiplicative Gaussian noise</p></td>
</tr>
<tr><td><p>ImpulseNoise</p></td>
<td><p>Impulse noise</p></td>
</tr>
<tr><td><p>LaplacianNoise</p></td>
<td><p>Laplacian noise</p></td>
</tr>
<tr><td><p>PoissonNoise</p></td>
<td><p>Poisson noise</p></td>
</tr>
<tr><td><p>RandomNoise</p></td>
<td><p>Random noise</p></td>
</tr>
</tbody>
</table>
</section>
<section id="orientationtype">
<h1><a class="toc-backref" href="#id18">OrientationType</a></h1>
<p><em>OrientationType</em> specifies the orientation of the image. Useful for
when the image is produced via a different ordinate system, the camera
was turned on its side, or the page was scanned sideways.</p>
<table>
<caption>OrientationType</caption>
<colgroup>
<col style="width: 38%" />
<col style="width: 28%" />
<col style="width: 34%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Scanline Direction</p></th>
<th class="head"><p>Frame Direction</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>UndefinedOrientation</p></td>
<td><p>Unknown</p></td>
<td><p>Unknown</p></td>
</tr>
<tr><td><p>TopLeftOrientation</p></td>
<td><p>Left to right</p></td>
<td><p>Top to bottom</p></td>
</tr>
<tr><td><p>TopRightOrientation</p></td>
<td><p>Right to left</p></td>
<td><p>Top to bottom</p></td>
</tr>
<tr><td><p>BottomRightOrientation</p></td>
<td><p>Right to left</p></td>
<td><p>Bottom to top</p></td>
</tr>
<tr><td><p>BottomLeftOrientation</p></td>
<td><p>Left to right</p></td>
<td><p>Bottom to top</p></td>
</tr>
<tr><td><p>LeftTopOrientation</p></td>
<td><p>Top to bottom</p></td>
<td><p>Left to right</p></td>
</tr>
<tr><td><p>RightTopOrientation</p></td>
<td><p>Top to bottom</p></td>
<td><p>Right to left</p></td>
</tr>
<tr><td><p>RightBottomOrientation</p></td>
<td><p>Bottom to top</p></td>
<td><p>Right to left</p></td>
</tr>
<tr><td><p>LeftBottomOrientation</p></td>
<td><p>Bottom to top</p></td>
<td><p>Left to right</p></td>
</tr>
</tbody>
</table>
</section>
<section id="paintmethod">
<h1><a class="toc-backref" href="#id19">PaintMethod</a></h1>
<p><em>PaintMethod</em> specifies how pixel colors are to be replaced in the
image. It is used to select the pixel-filling algorithm employed.</p>
<table>
<caption>PaintMethod</caption>
<colgroup>
<col style="width: 37%" />
<col style="width: 63%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>PointMethod</p></td>
<td><p>Replace pixel color at point.</p></td>
</tr>
<tr><td><p>ReplaceMethod</p></td>
<td><p>Replace color for all image pixels matching
color at point.</p></td>
</tr>
<tr><td><p>FloodfillMethod</p></td>
<td><p>Replace color for pixels surrounding point
until encountering pixel that fails to match
color at point.</p></td>
</tr>
<tr><td><p>FillToBorderMethod</p></td>
<td><p>Replace color for pixels surrounding point
until encountering pixels matching border
color.</p></td>
</tr>
<tr><td><p>ResetMethod</p></td>
<td><p>Replace colors for all pixels in image with
pen color.</p></td>
</tr>
</tbody>
</table>
</section>
<section id="quantumtypes">
<h1><a class="toc-backref" href="#id20">QuantumTypes</a></h1>
<p><em>QuantumTypes</em> is used to indicate the source or destination format of
entire pixels, or components of pixels (&quot;Quantums&quot;) while they are
being read, or written to, a pixel cache. The validity of these format
specifications depends on whether the Image pixels are in RGB format,
RGBA format, or CMYK format. The pixel Quantum size is determined by
the Image depth (typically 8, 16, or 32 bits, but any value from 1-64
bits integer or float is supported).</p>
<table>
<caption>RGB(A) Image Quantums</caption>
<colgroup>
<col style="width: 37%" />
<col style="width: 63%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>IndexQuantum</p></td>
<td><p>PseudoColor colormap indices</p></td>
</tr>
<tr><td><p>RedQuantum</p></td>
<td><p>Red pixel Quantum</p></td>
</tr>
<tr><td><p>GreenQuantum</p></td>
<td><p>Green pixel Quantum</p></td>
</tr>
<tr><td><p>BlueQuantum</p></td>
<td><p>Blue pixel Quantum</p></td>
</tr>
<tr><td><p>OpacityQuantum</p></td>
<td><p>Opacity (Alpha) Quantum</p></td>
</tr>
</tbody>
</table>
<table>
<caption>CMY(K) Image Quantum</caption>
<colgroup>
<col style="width: 37%" />
<col style="width: 63%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>CyanQuantum</p></td>
<td><p>Cyan pixel Quantum</p></td>
</tr>
<tr><td><p>MagentaQuantum</p></td>
<td><p>Magenta pixel Quantum</p></td>
</tr>
<tr><td><p>YellowQuantum</p></td>
<td><p>Yellow pixel Quantum</p></td>
</tr>
<tr><td><p>BlackQuantum</p></td>
<td><p>Black pixel Quantum</p></td>
</tr>
</tbody>
</table>
<table>
<caption>Grayscale Image Quantums</caption>
<colgroup>
<col style="width: 37%" />
<col style="width: 63%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>GrayQuantum</p></td>
<td><p>Gray pixel</p></td>
</tr>
<tr><td><p>GrayOpacityQuantum</p></td>
<td><p>Pixel opacity</p></td>
</tr>
</tbody>
</table>
<table>
<caption>Entire Pixels (Expressed in Byte Order)</caption>
<colgroup>
<col style="width: 37%" />
<col style="width: 63%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>RGBQuantum</p></td>
<td><p>RGB pixel (1 to 64 bits)</p></td>
</tr>
<tr><td><p>RGBAQuantum</p></td>
<td><p>RGBA pixel (1 to 64 bits)</p></td>
</tr>
<tr><td><p>CMYKQuantum</p></td>
<td><p>CMYK pixel (1 to 64 bits)</p></td>
</tr>
</tbody>
</table>
</section>
<section id="renderingintent">
<h1><a class="toc-backref" href="#id21">RenderingIntent</a></h1>
<p>Rendering intent is a concept defined by <a class="reference external" href="http://www.color.org/">ICC</a> Spec ICC.1:1998-09, &quot;File Format for Color
Profiles&quot;. GraphicsMagick uses RenderingIntent in order to support ICC
Color Profiles.</p>
<p>From the specification: &quot;Rendering intent specifies the style of
reproduction to be used during the evaluation of this profile in a
sequence of profiles. It applies specifically to that profile in the
sequence and not to the entire sequence. Typically, the user or
application will set the rendering intent dynamically at runtime or
embedding time.&quot;</p>
<table>
<caption>RenderingIntent</caption>
<colgroup>
<col style="width: 36%" />
<col style="width: 64%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>UndefinedIntent</p></td>
<td><p>Unset value.</p></td>
</tr>
<tr><td><p>SaturationIntent</p></td>
<td><p>A rendering intent that specifies the saturation
of the pixels in the image is preserved perhaps
at the expense of accuracy in hue and lightness.</p></td>
</tr>
<tr><td><p>PerceptualIntent</p></td>
<td><p>A rendering intent that specifies the full gamut
of the image is compressed or expanded to fill
the gamut of the destination device. Gray
balance is preserved but colorimetric accuracy
might not be preserved.</p></td>
</tr>
<tr><td><p>AbsoluteIntent</p></td>
<td><p>Absolute colorimetric</p></td>
</tr>
<tr><td><p>RelativeIntent</p></td>
<td><p>Relative colorimetric</p></td>
</tr>
</tbody>
</table>
</section>
<section id="resolutiontype">
<h1><a class="toc-backref" href="#id22">ResolutionType</a></h1>
<p>By default, GraphicsMagick defines resolutions in pixels per
inch. <em>ResolutionType</em> provides a means to adjust this.</p>
<table>
<caption>ResolutionType</caption>
<colgroup>
<col style="width: 39%" />
<col style="width: 61%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>UndefinedResolution</p></td>
<td><p>Unset value.</p></td>
</tr>
<tr><td><p>PixelsPerInchResolution</p></td>
<td><p>Density specifications are specified in units
of pixels per inch (english units).</p></td>
</tr>
<tr><td><p>PixelsPerCentimeterResolution</p></td>
<td><p>Density specifications are specified in units
of pixels per centimeter (metric units).</p></td>
</tr>
</tbody>
</table>
</section>
<section id="storagetype">
<h1><a class="toc-backref" href="#id23">StorageType</a></h1>
<p>The <em>StorageType</em> enumerations are used to specify the storage format
of pixels in the source or destination pixel array.</p>
<table>
<caption>StorageType</caption>
<colgroup>
<col style="width: 37%" />
<col style="width: 63%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>CharPixel</p></td>
<td><p>Character type</p></td>
</tr>
<tr><td><p>ShortPixel</p></td>
<td><p>Short type</p></td>
</tr>
<tr><td><p>IntegerPixel</p></td>
<td><p>Integer type</p></td>
</tr>
<tr><td><p>FloatPixel</p></td>
<td><p>Float type</p></td>
</tr>
<tr><td><p>DoublePixel</p></td>
<td><p>Double type</p></td>
</tr>
</tbody>
</table>
</section>
<section id="stretchtype">
<h1><a class="toc-backref" href="#id24">StretchType</a></h1>
<p>The <em>StretchType</em> enumerations are used to specify the relative width
of a font to the regular width for the font family. If the width is
not important, the <em>AnyStretch</em> enumeration may be specified for a
wildcard match.</p>
<table>
<caption>StretchType</caption>
<colgroup>
<col style="width: 37%" />
<col style="width: 63%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>AnyStretch</p></td>
<td><p>Wildcard match for font stretch</p></td>
</tr>
<tr><td><p>NormalStretch</p></td>
<td><p>Normal width font</p></td>
</tr>
<tr><td><p>UltraCondensedStretch</p></td>
<td><p>Ultra-condensed (narrowest) font</p></td>
</tr>
<tr><td><p>ExtraCondensedStretch</p></td>
<td><p>Extra-condensed font</p></td>
</tr>
<tr><td><p>CondensedStretch</p></td>
<td><p>Condensed font</p></td>
</tr>
<tr><td><p>SemiCondensedStretch</p></td>
<td><p>Semi-Condensed font</p></td>
</tr>
<tr><td><p>SemiExpandedStretch</p></td>
<td><p>Semi-Expanded font</p></td>
</tr>
<tr><td><p>ExpandedStretch</p></td>
<td><p>Expanded font</p></td>
</tr>
<tr><td><p>ExtraExpandedStretch</p></td>
<td><p>Extra-Expanded font</p></td>
</tr>
<tr><td><p>UltraExpandedStretch</p></td>
<td><p>Ultra-expanded (widest) font</p></td>
</tr>
</tbody>
</table>
</section>
<section id="styletype">
<h1><a class="toc-backref" href="#id25">StyleType</a></h1>
<p>The <em>StyleType</em> enumerations are used to specify the style
(e.g. Italic) of a font. If the style is not important, the <em>AnyStyle</em>
enumeration may be specified for a wildcard match.</p>
<table>
<caption>StyleType</caption>
<colgroup>
<col style="width: 37%" />
<col style="width: 63%" />
</colgroup>
<thead>
<tr><th class="head"><p>Enumeration</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr><td><p>AnyStyle</p></td>
<td><p>Wildcard match for font style</p></td>
</tr>
<tr><td><p>NormalStyle</p></td>
<td><p>Normal font style</p></td>
</tr>
<tr><td><p>ItalicStyle</p></td>
<td><p>Italic font style</p></td>
</tr>
<tr><td><p>ObliqueStyle</p></td>
<td><p>Oblique font style</p></td>
</tr>
</tbody>
</table>
<p>Copyright © Bob Friesenhahn 1999 - 2022</p>
</section>
</main>


<hr class="docutils">
<div class="document">
    <p><a href="../Copyright.html">Copyright</a> © GraphicsMagick Group 2002-2025<!--SPONSOR_LOGO--></p>
</div>

</main>
</body>
</html>
